package br.com.inner.service;

import java.math.BigDecimal;
import java.util.List;

import br.com.inner.custom.CustomException;
import br.com.inner.dao.CategoriaDBDao;
import br.com.inner.dao.CategoriaDao;
import br.com.inner.modelo.Categoria;

public class CategoriaDaoService implements CategoriaService {

	private CategoriaDao dao;

	public CategoriaDaoService() {
        this.dao = new CategoriaDBDao();
    }
	
	public Categoria getAll() throws CustomException {
		// TODO Auto-generated method stub
		return dao.getAll();
	}
	
	public List<Categoria> getAllCategorias() throws CustomException {
		// TODO Auto-generated method stub
		return dao.getAllCategorias();
	}
	public List<Categoria> getCategoriaPorNome(String nmCategoria) throws Exception{
		return dao.getCategoriaPorNome(nmCategoria);
	}
	
	public List<Categoria> getCategoriasAbertas() throws Exception {
		// TODO Auto-generated method stub
		return dao.getCategoriasAbertas();
	}
	
	public Categoria getCategoria(BigDecimal id) throws CustomException{
		return dao.getCategoria(id);
	}
	
	public void insertCategoria(Categoria cat){
		dao.insert(cat);
	}
	
	public void updateCategoria(Categoria cat){
		dao.update(cat);
	}
	
	public void updateDBC(Categoria cat) throws Exception{
		dao.updateDBC(cat);
	}
	
	public void deleteCategoria(BigDecimal id) throws CustomException{
		try {
			dao.delete(id);
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("Erro no CategoriaDaoService");
			throw new CustomException("Erro no CategoriaDaoService");
		}
	}
}